package com.kj.gitwe;

/**
 * @author LQWQK
 * @version 1.0
 * @since 2023-05-14 13:40:51
 */
public class Review {
    /*
    一. mybatis
    1: 图示   sqlMapConfig.xml  mapper.xml   sqlSessionFactory  sqlSession
    2: sqlMapConfig.xml 配置文件里
        基本全局设置settings
        别名 typealies    输入映射或输出映射 类型的别名
        数据库设置 (整合以后  spring管理)
        关联 mapper.xml文件 resources
    3: mapper.xml
        输入映射: sql语句的参数的类型      占位符 #{value}    #{入参.属性}
        输出映射: sql执行完毕后要封装的java类型      resultType resultMap (自定义,高级查询的结果)
        foreach
        where  多条件的拼接sql语句内 自动添加 and  并自动去除第一个and
        if
        set    多个设置值, 自动添加逗号, 自动去除最后一个逗号
        selectKey
        一对一  association
        一对多  collection
     4: 动态mapper代理    提供dao层接口mapper 及  对应   mapper.xml文件
     5: 缓存 一级 二级  ehcache
     6: 懒加载
     7: 逆向工程


     二.  spring
     1. 容器
         IOC : 控制反转
         DI: 依赖注入
     2. spring容器创建对象的方式
         无参构造
         静态工厂方法
         实例工厂方法
     3. spring容器依赖注入的方式
         属性注入
         构造注入
         p c 命名空间简化注入
         自动装配   byType    byName

     4. 注解扫描  扫描指定的注解, 容器创建对象进行管理
        <context:component-sacn>
        @Component @Controller @Service @Repository @Configration

     5. 自动注入  @AutoWared       @Quilifer              @Resource

     6. 配置类@Configration  简化 xml配置
        @Bean   加在方法上, 方法名即组件名, 方法返回值组件类型
        @Import 加在配置类上, 导入某类型组件, 包名.类名是组件名字.
        @ComponentScan
        @ImportResource 联合 xml配置文件

     7. spring配置文件里  关联 .properties配置文件
     8. AOP
        自定义的公共业务逻辑 通过 xml 的 AOP 配置或注解版 配置 .
        AOP事务
            连接池事务管理器
            事务通知 随便用自己写 但需要配置 事务属性: 隔离级别 传播级别
            XML配置 和 注解配置

     9. spring 和 mybatis整合.


三. springMVC

    1: 图  一个中心三个基本点.
    2: 前端控制器 在 web.xml 里的配置   load-on-startup   springmvc配置文件的路径
    3: springMVC的配置文件
        mvc:annotation-driven  处理器映射器 处理器适配器 矩阵变量 转换器服务 校验
        视图解析器  前缀 后缀
        文件上传 multipart...Reslver
        转换器服务
        拦截器列表
        静态资源访问  mvc:default-servlethandler    mvc:resources path location

    4:  handler方法的返回值

        A: modelAndView
        B: String
            逻辑视图名
            转发
            重定向
        C: void  入参部分使用servletApi , 即: requests response session
        D: 任何返回值 + @ResponseBody   json数据.

    5:  handler类里的多个注解
        @RestController
        @RequestMapping  @GetMapping @PostMapping
        @RequestParam
        @CookieValue
        @RequestHeader
        @ModelAttribute
        @SessionATTribute
        @SessionATTributes
        @RequestBody
        @PathVariable 路径参数   /user/{id}
        @MatrixVarable
        @MultipartFile

    6: Restful风格
        1 开启PUT DELETE请求,  HiddenHttpMethod.Filter 开启  _method 参数名
        2 路径变量和矩阵变量的使用    /user/{id}
        /user/97;age=1,2,3;sex=男



     7: SSM整合
     spring_context.xml
        管理mybatis的会话工厂bean.
        管理连接池组件
        管理扫描非web层的注解组件
        管理AOP事务 (业务层)
     spring_mvc.xml
        管理:只扫描web层的注解组件
        mvc:annotation-driven
        ...
     sqlMapConfig.xml
        管理别名,懒加载,...
     web.xml
        前端控制器 , restful HiddenHttpMethod 过滤器


四: 日志
日志级别:  debug  info  warn  error  fatal
appender: 输出到哪里
layout: 日志格式

commons-logging    slf4j 等  日志门面  类似于  接口  是 规范
log4j  log4j2  logbak  等    日志实现
日志适配

springboot 默认使用 slf4j  logbak


五: maven
1: 管理项目的目录结构
2: 项目生命周期
3: 本地库  中央仓库  配置文件里的配置
4: 依赖的坐标   依赖的范围    依赖的传递   依赖的排除    依赖导入最短路径优先
5: 父子工程
    父:  打包 pom    版本号 properties   dependecyManagement
    子: 真正引入依赖, 如果是 父里已经做了版本控制的 不需要知道版本号
    父子聚合:  父: module 关联子工程,
6: 私服
    上传倒私服
    从私服下载到本地库
    上传第三方jar到私服里 使用标准坐标管理.

六: springboot
    
七: mybatisplus

八: rides/git

九: 2周练习

A: 题目不限  博客 , 购物 , 学校网站, 分享网站... ...

B: web应用程序 , 前端部分不限网页/手机/微信小程序, 后端使用: springboot  thymeleaf  mybatisPlus  redis

C: 明确的区分 前端用户部分 和 网站管理者部分

D: 模块自己划分 尽量多  每个模块都尽量含有: 增删改查, 多条件查询      数据库表自己设计
   (delete  version  createTime)

E: 必须使用 拦截器 , 国际化 , 文件上传 , 类型转换器, 日志 , redis缓存 , 分页 ,   ajax , 逻辑删除, version字段

F: restful风格 随意 ;  父子工程.拆分为多个模块运行 随意 ;

G: 编码过程里, 肯定要调试改错, 建议 使用多种方法找错,  比如: debug 打印语言 弹框  ,  最好记录下来.

H: 额外项:  你用了没有学过的点
    mysql 存储过程 ,触发器
    多线程
    百度 echarts图表  前端图表直观看数据的js插件
    富文本编辑框      前端插件
    java发邮件激活用户账号
    第三方法验证码  手机短信
    ...







     */
}
